# file      : common/bulk/buildfile
# license   : GNU GPL v2; see accompanying LICENSE file

if ($build.meta_operation != 'dist')
{
  assert (!$pgsql || $pgsql_bulk || $size($databases) != 1) \
    "bulk operations are disabled for pgsql which is specified as single database"
}

import libodb    = libodb%lib{odb}
import libcommon = lib{common}

libs =

for db: $databases
{
  if ($db != 'pgsql' || $pgsql_bulk)
    import libs += libodb-$db%lib{odb-$db}
}

exe{driver}: {hxx cxx}{* -*-odb -*-odb-*} {hxx ixx cxx}{test-odb} testscript

# Introduce the metadata library target to make sure the libodb library is
# resolved for the odb_compile ad hoc rule (see build/root.build for details).
#
libue{test-meta}: $libodb $libcommon

<{hxx ixx cxx}{test-odb}>: hxx{test} libue{test-meta}

for db: $databases
{
  exe{driver}: {hxx ixx cxx}{test-odb-$db}: \
    include = ($multi && ($db != 'pgsql' || $pgsql_bulk))

  <{hxx ixx cxx}{test-odb-$db}>: hxx{test} libue{test-meta}
}

exe{driver}: libue{test-meta} $libs

# Specify the ODB custom options to be used by the odb_compile ad hoc rule
# (see build/root.build for details).
#
odb_options = --table-prefix bulk_ \
              --generate-schema    \
              --generate-query

cxx.poptions =+ "-I$out_base" "-I$src_base"

# Testscript's run-time prerequisites.
#
exe{driver}: ../../alias{database-client}: include = adhoc
